---
title: "Univer Weekly #6"
author: 白熱
date: 2025-07-25
---

import { RainbowButton } from '@/components/magicui/rainbow-button'

If you find Univer useful, please consider supporting us by starring our project on GitHub. Your support helps us continue to improve and maintain Univer.

<a href="https://github.com/dream-num/univer" target="_blank" rel="noopener noreferrer">
  <RainbowButton variant="outline">⭐️ Star on GitHub</RainbowButton>
</a>

---

## Documentation Update

This week, we introduced ready-to-use integration project templates for popular front-end UI libraries and frameworks, including React, Vue, and Angular. These templates enable developers to quickly integrate Univer without complex configurations, significantly improving development efficiency. Whether you're a beginner or an experienced developer, you can easily get started and focus on business development.

We invite you to visit the [Integration Guide](/guides/sheets/getting-started/integrations) page to learn more about how to integrate and use Univer with different front-end frameworks. The documentation provides step-by-step guidance and rich example code to help you complete the integration quickly and experience the efficiency of developing with Univer.

## Highlights of Univer v0.9.4

### Facade API: `FPermission.getPermissionInfoWithCell`

In this release, we introduced the `FPermission.getPermissionInfoWithCell` method, which greatly simplifies the process of retrieving cell permission information. Developers can directly query the permission configuration within a specified range, enabling more granular data protection and permission control.

**Usage Example**

```typescript
const fWorkbook = univerAPI.getActiveWorkbook()
const fWorksheet = fWorkbook.getActiveSheet()
const permission = fWorkbook.getPermission()
const unitId = fWorkbook.getId()
const subUnitId = fWorksheet.getSheetId()

// Retrieve permission information for cell C3
const cell = fWorksheet.getRange('C3')
const permissionInfo = permission.getPermissionInfoWithCell(
  unitId,
  subUnitId,
  cell.getRow(),
  cell.getColumn(),
)
console.log(permissionInfo)

// If the cell is protected, you can remove the protection as follows
if (permissionInfo) {
  const { ruleId } = permissionInfo

  // Remove protection for the cell after 2 seconds
  setTimeout(() => {
    permission.removeRangeProtection(unitId, subUnitId, [ruleId])
  }, 2000)
}
```

### Internationalization: Russian Language Pack Enhancement

Thanks to community contributor [@kenny-not-dead](https://github.com/kenny-not-dead) for the improved updates to the Russian (ru-RU) language pack! Univer is committed to building a global open-source office suite, and we welcome more developers to contribute to multi-language support, making Univer serve a broader user base.

### Other Feature Enhancements and Bug Fixes

- Fixed the issue of the data validation dropdown not having a default background color, improving visual consistency.
- After copying, you can quickly exit the activation state by pressing ESC, making operations more convenient.
- Optimized chart dragging logic to resolve potential freezing issues in extreme cases.
- Fixed abnormal input box size when creating annotations, ensuring a consistent user experience.

For a full list of updates and historical release information, please visit our [GitHub Releases page](https://github.com/dream-num/univer/releases/tag/v0.9.4).

---

Thank you to every community developer and user for your attention and support! We will continue to optimize the product experience, and we welcome your valuable suggestions and contributions. Let's work together to make Univer even better!
